The present embodiments relate to computer networks and are more particularly directed to a system for monitoring network performance and correcting network congestion by evaluating changes in packet arrival variance relative to mean packet arrival.
As the number of users and traffic volume continue to grow on the global Internet and other networks, an essential need has arisen to have a set of mechanisms to monitor network performance and to take corrective measures in response to falling performance. Such performance may be evaluated in various forms, including but not limited to detecting and troubleshooting network congestion. Network congestion results from mismatches between network capacity and network demand. The mismatch may be a long-term one, or at instantaneous time scales. Further, network capacity may appear to be ample when using tools that look at long-term traffic averages; however these approaches are not always suitable because a more subtle problem may arise with short bursts of packets, or peak demand. With congestion analyses mechanisms, the reliability and availability of the network nodes (e.g., IP routers) and the given internet paths can be evaluated. This is especially true for Internet Service Providers (“ISPs”) seeking to comply with the Service Level Agreements (“SLAs”) that they are now providing to customers. Additionally, such a need is prevalent for the underlying internet protocol (“IP”) networks in the Internet.
The Internet is also evolving towards an advanced architecture that seeks to guarantee the quality of service (“QoS”) for real-time applications. QoS permits the controlling of what happens to packets when there is congestion in a network, or more precisely when there is insufficient network capacity to deliver all of the offered load without any noticeable queuing delays. One type of QoS framework seeks to provide hard specific network performance guarantees to applications such as band-width/delay reservations for an imminent or future data flow. Such QoS is usually characterized in terms of ability to guarantee to an application-specified peak and average band-width, delay, jitter and packet loss. Another type is to use Class-of-Service (“CoS”) such as Differentiated Services (“Diff-Serv”) to represent the less ambitious approach of giving preferential treatment to certain kinds of packets, but without making any performance guarantees.
During the QoS process to provide services better than the traditional best effort, network congestion detection often becomes the starting point for the network performance analysis. In the past, a number of congestion detection and control schemes have been investigated in data networks. One congestion detection scheme uses the transport-layer protocols to infer congestion from the estimated bottleneck service time or from changes in throughput or end-to-end delay, as well as from packet drops. Specifically, the Internet has traditionally relied on mechanisms in the Transport Control Protocol (“TCP”), such as sliding window control and retransmission timer deficiencies to avoid congestion. TCP operates to seek excess bandwidth by increasing transmission rates until the network becomes congested and then reducing transmission rate once congestion occurs. A few limitations arise from this approach. First, TCP congestion detection at a first node requires an acknowledgement from a second node, that is, the increased transmission is continued until no acknowledgement is received from the second node; thus, a feedback communication is required from another node and that feedback also utilizes bandwidth on the network. Second, in its effort to identify bandwidth, TCP necessarily causes the very congestion which it then seeks to minimize, where the congestion is caused as the TCP increases the bandwidth to a point that exceeds the network capacity. Another type of congestion detection scheme is to involve network components such as routers in the entire process. As most network congestion occurs in routers, they may be considered an ideal position to monitor network load and congestion and respond thereto in a control scheme. Such network-based congestion control uses explicit signaling between routers to provide feedback congestion information to a transmitting router, where the transmitting router may then alter its behavior in response to the feedback, or an overall scheme can change the packet processing within one or more routers so as to reduce congestion. In any event, this latter scheme also requires a form of feedback from a recipient router, thereby increasing traffic on the network to accommodate the feedback and also requiring the reliance of the transmitting router on the integrity of a different router.
In view of the above, there arises a need to address the drawbacks of the prior art, as is accomplished by the preferred embodiments described below.